package org.lanqiao.sjx.servlet;

import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.lanqiao.bean.User;
import org.lanqiao.sjx.dao.UserDao;
import org.lanqiao.sjx.dao.impl.UserImpl;
import org.lanqiao.tools.BaseServlet;

import com.google.gson.Gson;
import com.sun.org.apache.bcel.internal.generic.Select;

@WebServlet("/Userservlet")
public class Userservlet extends BaseServlet {
	UserDao dao = new UserImpl();

	@Override
	protected void service(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		
		Object id = request.getSession().getAttribute("id");
		Object typeU = request.getSession().getAttribute("typeU");
		this.request = request;
		this.response = response;

		String type = getString("type");
		redata.setMsg("");
		if (!isNull("type")) {
			switch (type) {
			case "select":
				select();
				break;
			case "register":
				register();
				break;
//			case "registerTel":
//				registerbyTelphone();
//				break;
			case "update":
				update();
				break;
//			case "updateTel":
//				updatebyTel();
//				break;
			case "login":
				login();
				break;
			case "getid":
				getId(id);
				break;
			default:
				break;
			}
		} else {
			redata.setCode(3);
			redata.setData(null);

		}
		System.out.println(redata);
		response.getWriter().write(new Gson().toJson(redata));
	}

private void getId(Object iid) {
	if (iid != null) {
		redata.setCode(2);
		redata.setMsg("iid已经传达");
		redata.setData(iid);
	} else {
		redata.setCode(3);
		redata.setMsg("iid异常");
		redata.setData("");
	}	
}

//	private void loginEmail() {
//		System.out.println("loginEmail閭鐧诲綍");
//		String password=getString("password");
//		String email=getString("email");
//		if (password==null||email==null) {
//			redata.setCode(3);
//			redata.setData(null);
//			return;
//		}
//		
//	Integer i=dao.selectUserByEmailPas(email, password);
//	if (i>0) {
//		redata.setCode(2);
//		redata.setData(i);
////		杩樿鎵撳嵃jsessionid
//		redata.setMsg("鐧诲綍鎴愬姛");
//	}
//		
//	}

	private void login() {
		// TODO Auto-generated method stub
		System.out.println("login");
		String password = getString("password");
		String b1 = getString("b1");
		System.out.println(b1 + password);
		if (redata.getMsg() != "") {
			redata.setCode(3);
			redata.setData(null);
			return;
		}

		User i = dao.selectUserByb1Pwd(b1, password);
		System.out.println(i);
		if (i != null) {
			redata.setCode(2);
			redata.setData(i);
//		还要输出jsessionid
			redata.setMsg("登录成功");
			System.out.println("成功");
		}else {
			redata.setCode(3);
			redata.setData(null);
//		还要输出jsessionid
			redata.setMsg("登录失败");
			System.out.println("失败");
		}

	}

	private void update() {
		System.out.println("注册后更新个校信息");
		Integer id = getInt("id");
		String name = getString("name");
		String sex = getString("sex");
		String email = getString("email");
		String telphone = getString("telphone");
		Integer workTime = getInt("workTime");
		Integer heduBackground = getInt("HeduBackground");
		Integer workNtype = getInt("workNtype");
//		String date=getString("date");
		if (redata.getMsg() != "") {
			redata.setCode(3);
			redata.setMsg("");
			return;
		}
		Integer i = dao.updateUser(new User(name, sex, telphone, email, workTime, heduBackground, workNtype, id));
		if (i > 0) {
			System.out.println(name + sex + email + telphone + workTime + heduBackground + workNtype + id);
			redata.setCode(2);
			redata.setData(i);
			redata.setMsg("修改信息成功");
		}
	}

//	private void updatebyEmail() {
//		System.out.println("浣跨敤閭娉ㄥ唽鍚庣殑鏇存柊淇℃伅");
//		Integer id=getInt("id");
//		String name=getString("name");
//		String sex=getString("sex");
//		String telphone=getString("telphone");
//		Integer workTime=getInt("workTime");
//		Integer heduBackground=getInt("HeduBackground");
//		Integer workNtype=getInt("workNtype");
//		String date=getString("date");
//		
//		if(name==null||sex==null||sex==null||telphone==null||
//				workTime==null||workNtype==null||heduBackground==null||date==null) 
//		{
//			redata.setCode(3);
//			redata.setData(null);
//			return;
//		}
//		
//		Integer i = dao.updateUserByEmail(new User(name, sex, telphone, workTime, heduBackground, workNtype, date, id));
//		if (i>0) {
//			redata.setCode(2);
//			redata.setData(i);
//			redata.setMsg("淇濆瓨鎴愬姛");
//		}
//	}

//娉ㄥ唽
	private void register() {
		System.out.println("register注册");

		String b1 = getString("b1");
		String password = getString("password");
		System.out.println(b1 + password);
		if (redata.getMsg() != "") {
			redata.setCode(3);
			redata.setData(null);
			return;
		}
		Integer i = dao.insertUser(b1, password);
		if (i > 0) {
			redata.setCode(2);
			redata.setData(i);
			redata.setMsg("注册成功");
		}
	}

//	private void registerbyTelphone() {
//		System.out.println("registerbyEmail鐢佃瘽娉ㄥ唽");
//		
//		String telphone=getString("telphone");
//		String password=getString("password");
//		
//		if(password==null||telphone==null) {
//			redata.setCode(3);
//			redata.setData(null);
//			return;
//		}
//		Integer i=dao.insertUserByEmail(password,telphone);
//		if (i>0) {
//			redata.setCode(2);
//			redata.setData(i);
//			redata.setMsg("浣跨敤鐢佃瘽娉ㄥ唽鎴愬姛");
//		}	
//	}

	private void select() {
		System.out.println("select");
		Integer id = getInt("id");
		if (redata.getMsg() != "") {
			redata.setCode(3);
			redata.setData("");
			return;
		}
		User selectUser = dao.selectUser(id);
		redata.setCode(2);
		redata.setData(selectUser);
		redata.setMsg("用户" + id + "信息");
	}

}
